package com.wangsd.web.sys.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.wangsd.web.sys.entity.SysMenu;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author generator
 * @since 2019-09-02
 */
public interface SysMenuService extends IService<SysMenu> {

    /**
     *  查询一级菜单
     */
    List<SysMenu> selectByNull();

    /**
     * 查询菜单列表
     */
    IPage<SysMenu> selectList(Integer pageNum, Integer pageSize);

    /**
     * 查询所有菜单
     */
    List<SysMenu> selectAll();

    /**
     * 删除菜单
     */
    int delete(Long id);

    /**
     * 添加菜单
     */
    int addOrUpdate(SysMenu sysMenu);

    /**
     * 根据角色id查询菜单（包括拥有权限）
     */
    List<SysMenu> selectByRoleId(Long roleId);

    /**
     *  按字段更新角色（直接更新排序字段）
     */
    int updateOther(Long id, String name, String value);

    /**
     * 查询超级管理员拥有的所有菜单
     */
    List<SysMenu> selectByAdmin();
}
